﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Modelo;
using Negocio;

namespace Interfaces
{
    /// <summary>
    /// Interaction logic for IURegistrarReceta.xaml
    /// </summary>
    public partial class IURegistrarReceta:Window
    {
        public static List<Ingrediente> ingredientes = new List<Ingrediente>();
        public static List<Producto> productos = new List<Producto>();
        public IURegistrarReceta()
        {
            InitializeComponent();
           productos=Negocio.ControladorProducto.Productos();
            foreach (Producto producto in productos)
                listBoxProductos.Items.Add(producto.Nombre);
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            
        }

        

        private void btnGuardar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                float comensales = (float)(float.Parse(adultos.Text) + (0.5 * float.Parse(ninios.Text)));
                string proc = new TextRange(procedimiento.Document.ContentStart, procedimiento.Document.ContentEnd).Text;
                string mensaje = ControladorReceta.RegistrarReceta(comensales.ToString(), dificultad.Text, proc, nombre.Text, tiempo.Text, ingredientes);
                MessageBox.Show(mensaje);
                if (mensaje == "Receta registrada")
                    this.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("los campos adultos,ninios deben ser numeros enteros positivos");
            }
        }

        private void listBoxIngredientes_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            cantidad.Text = "";
            string ingre = (string)(sender as ListBox).SelectedItem ;
            ingrediente.Content = ingre;
            int indice = (int)(sender as ListBox).SelectedIndex;
            unidad.Text = productos[indice].Medida;
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(cantidad.Text.ToString()))
            {
                Ingrediente i = new Ingrediente();
                Producto prod= new Producto();
                i.Cantidad = float.Parse(cantidad.Text);
                prod.Medida=unidad.Text;
                prod.Nombre=ingrediente.Content.ToString();
                i.producto = prod;
                listBoxIngredientes.Items.Add(i.producto.Nombre+"        "+i.Cantidad+" "+i.producto.Medida);
                ingredientes.Add(i);
            }
            else
            {
                MessageBox.Show("La cantidad debe ser especificada");
            }
        }
    }
}
